home *** CD-ROM | disk | FTP | other *** search
Wrap
/* * Source machine generated by GadToolsBox V2.0b * which is (c) Copyright 1991-1993 Jaba Development * * GUI Designed by : Jens Weyer */ // General includes #include <exec/types.h> #include <intuition/intuition.h> #include <intuition/classes.h> #include <intuition/classusr.h> #include <intuition/imageclass.h> #include <intuition/gadgetclass.h> #include <libraries/gadtools.h> #include <graphics/displayinfo.h> #include <graphics/gfxbase.h> #include <clib/exec_protos.h> #include <clib/intuition_protos.h> #include <clib/gadtools_protos.h> #include <clib/graphics_protos.h> #include <clib/utility_protos.h> #include <string.h> #include <stdio.h> #include <stdlib.h> #include <clib/diskfont_protos.h> // pragmas #include <pragmas/exec_pragmas.h> #include <pragmas/intuition_pragmas.h> #include <pragmas/gadtools_pragmas.h> #include <pragmas/graphics_pragmas.h> #include <pragmas/utility_pragmas.h> #include <pragma/diskfont_lib.h> #include <pragma/dos_lib.h> #include <pragma/icon_lib.h> // my EasyRequestArgs() Template include #include <my/EasyReq.h> // Maxon startup include (very well done by Maxon !) #include <wbstartup.h> #include "Do5extPrefs13.h" // some declarations int EasyReq(struct Window *, char *, char *, char *); /*int CheckOpusVersion(void);*/ void LoadENVars(void); int SwapState(int,int); void SwapCheck(int,int); int GetEnv(char *,int); void SetEnv(char *, int,int); void InitVarExist(void); void PrepSetEnv(char *,int,int); void SetNum(int,int); int GetNum(int); int Exists(char *); void GetToolTypes(char *); static unsigned char *version = "$VER:DO5extPrefs 1.3 ("__DATE__") by Jens Weyer for DOpus 5.65+"; struct Library *GadToolsBase; int VarExist[VarMemSize]; int VarDefault[VarMemSize]; int NoNoLabel = 0; int DLook = 0; int NoCustomDrag = 0; int ShowUseDTFirst = 0; int UseWBInfo = 0; int WBTitle = 0; int QuickIconDrag = 0; int PopTime = 10; int NoMUFS = 0; int Benefy = 0; int HidePadLock = 0; int CmdLineLength = 512; int IconSpaceX = 3; int IconSpaceY = 5; int IconGridX = 0; int IconGridY = 0; int ListerEditing = 0; char AGHelp[500]; struct Screen *Scr = NULL; UBYTE *PubScreenName = "Workbench"; APTR VisualInfo = NULL; struct Window *Project0Wnd = NULL; struct Gadget *Project0GList = NULL; struct Menu *Project0Menus = NULL; struct IntuiMessage Project0Msg; struct Gadget *Project0Gadgets[19]; UWORD Project0Left = 10; UWORD Project0Top = 15; UWORD Project0Width = 334; UWORD Project0Height = 220; UBYTE *Project0Wdt = (UBYTE *)"DO5extPrefs v1.3"; struct TextAttr *Font, Attr; UWORD FontX, FontY; UWORD OffX, OffY; struct TextFont *Project0Font = NULL; struct NewMenu Project0NewMenu[] = { NM_TITLE, (STRPTR)"Project", NULL, 0, NULL, NULL, NM_ITEM, (STRPTR)"About...", (STRPTR)"?", 0, 0L, (APTR)Project0About, NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL, NM_ITEM, (STRPTR)"Use", (STRPTR)"U", 0, 0L, (APTR)Project0Use, NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL, NM_ITEM, (STRPTR)"Save", (STRPTR)"S", 0, 0L, (APTR)Project0Save, NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL, NM_ITEM, (STRPTR)"Quit", (STRPTR)"Q", 0, 0L, (APTR)Project0Quit, NM_END, NULL, NULL, 0, 0L, NULL }; UWORD Project0GTypes[] = { BUTTON_KIND, CHECKBOX_KIND, CHECKBOX_KIND, CHECKBOX_KIND, CHECKBOX_KIND, CHECKBOX_KIND, CHECKBOX_KIND, CHECKBOX_KIND, INTEGER_KIND, BUTTON_KIND, CHECKBOX_KIND, CHECKBOX_KIND, CHECKBOX_KIND, INTEGER_KIND, INTEGER_KIND, INTEGER_KIND, CHECKBOX_KIND, CHECKBOX_KIND, CHECKBOX_KIND }; struct NewGadget Project0NGad[] = { 5, 198, 147, 16, (UBYTE *)"_Save", NULL, GD_Save, PLACETEXT_IN, NULL, (APTR)SaveClicked, 121, 7, 26, 11, (UBYTE *)"_NoNoLabel", NULL, GD_Label, PLACETEXT_LEFT, NULL, (APTR)LabelClicked, 121, 24, 26, 11, (UBYTE *)"_NoCustomDrag", NULL, GD_NoCustomDrag, PLACETEXT_LEFT, NULL, (APTR)NoCustomDragClicked, 121, 42, 26, 11, (UBYTE *)"_WorkbenchTitle", NULL, GD_WBTitle, PLACETEXT_LEFT, NULL, (APTR)WBTitleClicked, 121, 61, 26, 11, (UBYTE *)"_QuickIconDrag", NULL, GD_QuickIconDrag, PLACETEXT_LEFT, NULL, (APTR)QuickIconDragClicked, 161, 7, 26, 11, (UBYTE *)"_UseWBInfo", NULL, GD_UseWBInfo, PLACETEXT_RIGHT, NULL, (APTR)UseWBInfoClicked, 161, 24, 26, 11, (UBYTE *)"Sh_owUseDatatypesFirst", NULL, GD_DTF, PLACETEXT_RIGHT, NULL, (APTR)DTFClicked, 161, 42, 26, 11, (UBYTE *)"3D_Look", NULL, GD_3DLook, PLACETEXT_RIGHT, NULL, (APTR)DLookClicked, 197, 99, 53, 17, (UBYTE *)"PopUpDelay (in 1/50 secs.)", NULL, GD_TimePopUpDelay, PLACETEXT_LEFT, NULL, (APTR)TimePopUpDelayClicked, 182, 198, 147, 16, (UBYTE *)"Us_e", NULL, GD_Use, PLACETEXT_IN, NULL, (APTR)UseClicked, 161, 61, 26, 11, (UBYTE *)"No_MultiUser", NULL, GD_NoMUFS, PLACETEXT_RIGHT, NULL, (APTR)NoMUFSClicked, 121, 80, 26, 11, (UBYTE *)"_Benefy", NULL, GD_Benefy, PLACETEXT_LEFT, NULL, (APTR)BenefyClicked, 161, 80, 26, 11, (UBYTE *)"_HidePadLock", NULL, GD_HidePadLock, PLACETEXT_RIGHT, NULL, (APTR)HidePadLockClicked, 197, 118, 53, 17, (UBYTE *)"CommandLineLength (in chars)", NULL, GD_LengthOfCmdLine, PLACETEXT_LEFT, NULL, (APTR)LengthOfCmdLineClicked, 95, 138, 53, 17, (UBYTE *)"IconSpaceX", NULL, GD_IconSpaceX, PLACETEXT_LEFT, NULL, (APTR)IconSpaceXClicked, 162, 138, 53, 17, (UBYTE *)"Y", NULL, GD_IconSpaceY, PLACETEXT_LEFT, NULL, (APTR)IconSpaceYClicked, 121, 157, 26, 11, (UBYTE *)"IconGrid_X", NULL, GD_IconGridX, PLACETEXT_LEFT, NULL, (APTR)IconGridXClicked, 162, 157, 26, 11, (UBYTE *)"IconGrid_Y", NULL, GD_IconGridY, PLACETEXT_RIGHT, NULL, (APTR)IconGridYClicked, 121, 176, 26, 11, (UBYTE *)"L_isterEditing", NULL, GD_LEd, PLACETEXT_LEFT, NULL, (APTR)LEdClicked }; ULONG Project0GTags[] = { (GT_Underscore), '_', (TAG_DONE), (GT_Underscore), '_', (TAG_DONE), (GT_Underscore), '_', (TAG_DONE), (GT_Underscore), '_', (TAG_DONE), (GT_Underscore), '_', (TAG_DONE), (GT_Underscore), '_', (TAG_DONE), (GT_Underscore), '_', (TAG_DONE), (GT_Underscore), '_', (TAG_DONE), (GA_TabCycle), FALSE, (GTIN_Number), 10, (GTIN_MaxChars), 10, (STRINGA_Justification), (GACT_STRINGCENTER), (TAG_DONE), (GT_Underscore), '_', (TAG_DONE), (GT_Underscore), '_', (TAG_DONE), (GT_Underscore), '_', (TAG_DONE), (GT_Underscore), '_', (TAG_DONE), (GA_TabCycle), FALSE, (GTIN_Number), 512, (GTIN_MaxChars), 4, (STRINGA_Justification), (GACT_STRINGCENTER), (TAG_DONE), (GA_TabCycle), FALSE, (GTIN_Number), 3, (GTIN_MaxChars), 2, (STRINGA_Justification), (GACT_STRINGCENTER), (TAG_DONE), (GA_TabCycle), FALSE, (GTIN_Number), 5, (GTIN_MaxChars), 2, (STRINGA_Justification), (GACT_STRINGCENTER), (TAG_DONE), (GT_Underscore), '_', (TAG_DONE), (GT_Underscore), '_', (TAG_DONE), (GT_Underscore), '_', (TAG_DONE) }; static UWORD ComputeX( UWORD value ) { return(( UWORD )((( FontX * value ) + 3 ) / 6 )); } static UWORD ComputeY( UWORD value ) { return(( UWORD )((( FontY * value ) + 5 ) / 11 )); } static void ComputeFont( UWORD width, UWORD height ) { Forbid(); Font = &Attr; Font->ta_Name = (STRPTR)GfxBase->DefaultFont->tf_Message.mn_Node.ln_Name; Font->ta_YSize = FontY = GfxBase->DefaultFont->tf_YSize; FontX = GfxBase->DefaultFont->tf_XSize; Permit(); OffX = Scr->WBorLeft; OffY = Scr->RastPort.TxHeight + Scr->WBorTop + 1; if ( width && height ) { if (( ComputeX( width ) + OffX + Scr->WBorRight ) > Scr->Width ) goto UseTopaz; if (( ComputeY( height ) + OffY + Scr->WBorBottom ) > Scr->Height ) goto UseTopaz; } return; UseTopaz: Font->ta_Name = (STRPTR)"topaz.font"; FontX = FontY = Font->ta_YSize = 8; } int SetupScreen( void ) { if ( ! ( Scr = LockPubScreen( PubScreenName ))) return( 1L ); ComputeFont( 0, 0 ); if ( ! ( VisualInfo = GetVisualInfo( Scr, TAG_DONE ))) return( 2L ); return( 0L ); } void CloseDownScreen( void ) { if ( VisualInfo ) { FreeVisualInfo( VisualInfo ); VisualInfo = NULL; } if ( Scr ) { UnlockPubScreen( NULL, Scr ); Scr = NULL; } } void Project0Render( void ) { ComputeFont( Project0Width, Project0Height ); DrawBevelBox( Project0Wnd->RPort, OffX + ComputeX( 5 ), OffY + ComputeY( 4 ), ComputeX( 323 ), ComputeY( 190 ), GT_VisualInfo, VisualInfo, GTBB_Recessed, TRUE, TAG_DONE ); DrawBevelBox( Project0Wnd->RPort, OffX + ComputeX( 2 ), OffY + ComputeY( 1 ), ComputeX( 330 ), ComputeY( 217 ), GT_VisualInfo, VisualInfo, TAG_DONE ); } int HandleProject0IDCMP( void ) { struct IntuiMessage *m; struct MenuItem *n; int (*func)(); BOOL running = TRUE; while( m = GT_GetIMsg( Project0Wnd->UserPort )) { CopyMem(( char * )m, ( char * )&Project0Msg, (long)sizeof( struct IntuiMessage )); GT_ReplyIMsg( m ); switch ( Project0Msg.Class ) { case IDCMP_REFRESHWINDOW: GT_BeginRefresh( Project0Wnd ); Project0Render(); GT_EndRefresh( Project0Wnd, TRUE ); break; case IDCMP_CLOSEWINDOW: running = Project0CloseWindow(); break; case IDCMP_VANILLAKEY: running = Project0VanillaKey(); break; case IDCMP_RAWKEY: running = Project0RawKey(); break; case IDCMP_GADGETUP: case IDCMP_GADGETDOWN: func = ( void * )(( struct Gadget * )Project0Msg.IAddress )->UserData; running = func(); break; case IDCMP_MENUPICK: while( Project0Msg.Code != MENUNULL ) { n = ItemAddress( Project0Menus, Project0Msg.Code ); func = (void *)(GTMENUITEM_USERDATA( n )); running = func(); Project0Msg.Code = n->NextSelect; } break; } } return( running ); } int OpenProject0Window( void ) { struct NewGadget ng; struct Gadget *g; UWORD lc, tc; UWORD wleft = Project0Left, wtop = Project0Top, ww, wh; ComputeFont( Project0Width, Project0Height ); ww = ComputeX( Project0Width ); wh = ComputeY( Project0Height ); if (( wleft + ww + OffX + Scr->WBorRight ) > Scr->Width ) wleft = Scr->Width - ww; if (( wtop + wh + OffY + Scr->WBorBottom ) > Scr->Height ) wtop = Scr->Height - wh; if ( ! ( Project0Font = OpenDiskFont( Font ))) return( 5L ); if ( ! ( g = CreateContext( &Project0GList ))) return( 1L ); for( lc = 0, tc = 0; lc < Project0_CNT; lc++ ) { CopyMem((char * )&Project0NGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget )); ng.ng_VisualInfo = VisualInfo; ng.ng_TextAttr = Font; ng.ng_LeftEdge = OffX + ComputeX( ng.ng_LeftEdge ); ng.ng_TopEdge = OffY + ComputeY( ng.ng_TopEdge ); ng.ng_Width = ComputeX( ng.ng_Width ); ng.ng_Height = ComputeY( ng.ng_Height); Project0Gadgets[ lc ] = g = CreateGadgetA((ULONG)Project0GTypes[ lc ], g, &ng, ( struct TagItem * )&Project0GTags[ tc ] ); while( Project0GTags[ tc ] ) tc += 2; tc++; if ( NOT g ) return( 2L ); } if ( ! ( Project0Menus = CreateMenus( Project0NewMenu, GTMN_FrontPen, 0L, TAG_DONE ))) return( 3L ); LayoutMenus( Project0Menus, VisualInfo, TAG_DONE ); if ( ! ( Project0Wnd = OpenWindowTags( NULL, WA_Left, ((Scr->Width) / 2) - (Project0Width / 2), WA_Top, ((Scr->Height) / 2) - (Project0Height / 2), WA_Width, ww + OffX + Scr->WBorRight, WA_Height, wh + OffY + Scr->WBorBottom, WA_IDCMP, BUTTONIDCMP|CHECKBOXIDCMP|INTEGERIDCMP|IDCMP_GADGETDOWN|IDCMP_MENUPICK|IDCMP_CLOSEWINDOW|IDCMP_VANILLAKEY|IDCMP_REFRESHWINDOW|IDCMP_RAWKEY, WA_Flags, WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_SMART_REFRESH|WFLG_ACTIVATE, WA_Gadgets, Project0GList, WA_Title, Project0Wdt, WA_ScreenTitle, "extended Preferences for DOpus5 - (c)1997-98 by Jens Weyer", TAG_DONE ))) return( 4L ); SetMenuStrip( Project0Wnd, Project0Menus ); GT_RefreshWindow( Project0Wnd, NULL ); Project0Render(); return( 0L ); } void CloseProject0Window( void ) { if ( Project0Menus ) { ClearMenuStrip( Project0Wnd ); FreeMenus( Project0Menus ); Project0Menus = NULL; } if ( Project0Wnd ) { CloseWindow( Project0Wnd ); Project0Wnd = NULL; } if ( Project0GList ) { FreeGadgets( Project0GList ); Project0GList = NULL; } if ( Project0Font ) { CloseFont( Project0Font ); Project0Font = NULL; } } // everything above this point was generated by GadToolsBox void main(int argc, char *argv[]) { BOOL running = TRUE; GadToolsBase = OpenLibrary("gadtools.library",39L); if (GadToolsBase) { /* running = CheckOpusVersion(); if (running) {*/ memset(AGHelp,0,499); GetToolTypes(argv[0]); SetupScreen(); OpenProject0Window(); InitVarExist(); LoadENVars(); while(running == TRUE) { WaitPort(Project0Wnd->UserPort); running = HandleProject0IDCMP(); } CloseProject0Window(); CloseDownScreen(); /* } else { CloseLibrary(GadToolsBase); exit(30); }*/ CloseLibrary(GadToolsBase); } // if (GadToolsBase) else { exit(40); } } /*int CheckOpusVersion(void) { FILE *f; double Tes; char Exe[100]; int Test; int Ret = 0; strcpy(Exe,"C:Version DOpus5:DirectoryOpus >T:DOVersion"); Execute(Exe,0,0); memset(Exe,99,0); f = fopen("T:DOVersion","r"); if (f) { Test = fscanf(f,"%s",Exe); Test = fscanf(f,"%ld",Tes); fclose(f); } DeleteFile("T:DOVersion"); if (Tes >= 5.65) { Ret = 1; } return(Ret); } */ /* This file contains empty template routines that * the IDCMP handler will call uppon. Fill out these * routines with your code or use them as a reference * to create your program. */ int SaveClicked( void ) { /* routine when gadget "_Save" is clicked. */ PrepSetEnv("ENVARC:DOpus/3DLook",DLook,Do_DLook); PrepSetEnv("ENVARC:DOpus/NoNoLabel",NoNoLabel,Do_NoNoLabel); PrepSetEnv("ENVARC:DOpus/NoCustomDrag",NoCustomDrag,Do_NoCustomDrag); PrepSetEnv("ENVARC:DOpus/QuickIconDrag",QuickIconDrag,Do_QIconDrag); PrepSetEnv("ENVARC:DOpus/PopUpDelay",PopTime,Do_PopUpDelay); PrepSetEnv("ENVARC:DOpus/ShowUseDatatypesFirst",ShowUseDTFirst,Do_ShUDTFirst); PrepSetEnv("ENVARC:DOpus/WorkbenchTitle",WBTitle,Do_WBTitle); PrepSetEnv("ENVARC:DOpus/UseWBInfo",UseWBInfo,Do_UseWBInfo); PrepSetEnv("ENVARC:DOpus/NoMUFS",NoMUFS,Do_NoMUFS); PrepSetEnv("ENVARC:DOpus/Benefy",Benefy,Do_Benefy); PrepSetEnv("ENVARC:DOpus/HidePadLock",HidePadLock,Do_HidePadLock); PrepSetEnv("ENVARC:DOpus/CommandLineLength",CmdLineLength,Do_CmdLLength); PrepSetEnv("ENVARC:DOpus/IconSpaceX",IconSpaceX,Do_IconSpaceX); PrepSetEnv("ENVARC:DOpus/IconSpaceY",IconSpaceY,Do_IconSpaceY); PrepSetEnv("ENVARC:DOpus/IconGridX",IconGridX,Do_IconGridX); PrepSetEnv("ENVARC:DOpus/IconGridY",IconGridY,Do_IconGridY); PrepSetEnv("ENVARC:DOpus/ListerEditing",ListerEditing,Do_ListerEditing); UseClicked(); return(TRUE); } int LabelClicked( void ) { /* routine when gadget "_NoNoLabel" is clicked. */ NoNoLabel = Project0Msg.Code; return(TRUE); } int NoCustomDragClicked( void ) { /* routine when gadget "_NoCustomDrag" is clicked. */ NoCustomDrag = Project0Msg.Code; return(TRUE); } int WBTitleClicked( void ) { /* routine when gadget "_WorkbenchTitle" is clicked. */ WBTitle = Project0Msg.Code; return(TRUE); } int QuickIconDragClicked( void ) { /* routine when gadget "_QuickIconDrag" is clicked. */ QuickIconDrag = Project0Msg.Code; return(TRUE); } int UseWBInfoClicked( void ) { /* routine when gadget "_UseWBInfo" is clicked. */ UseWBInfo = Project0Msg.Code; return(TRUE); } int DTFClicked( void ) { /* routine when gadget "Sh_owUseDatatypesFirst" is clicked. */ ShowUseDTFirst = Project0Msg.Code; return(TRUE); } int DLookClicked( void ) { /* routine when gadget "3D_Look" is clicked. */ DLook = Project0Msg.Code; return(TRUE); } int TimePopUpDelayClicked( void ) { /* routine when gadget "in 1/50 secs." is clicked. */ PopTime = GetNum(8); return(TRUE); } int UseClicked( void ) { /* routine when gadget "Us_e" is clicked. */ PrepSetEnv("ENV:DOpus/3DLook",DLook,Do_DLook); PrepSetEnv("ENV:DOpus/NoNoLabel",NoNoLabel,Do_NoNoLabel); PrepSetEnv("ENV:DOpus/NoCustomDrag",NoCustomDrag,Do_NoCustomDrag); PrepSetEnv("ENV:DOpus/QuickIconDrag",QuickIconDrag,Do_QIconDrag); PrepSetEnv("ENV:DOpus/PopUpDelay",PopTime,Do_PopUpDelay); PrepSetEnv("ENV:DOpus/ShowUseDatatypesFirst",ShowUseDTFirst,Do_ShUDTFirst); PrepSetEnv("ENV:DOpus/WorkbenchTitle",WBTitle,Do_WBTitle); PrepSetEnv("ENV:DOpus/UseWBInfo",UseWBInfo,Do_UseWBInfo); PrepSetEnv("ENV:DOpus/NoMUFS",NoMUFS,Do_NoMUFS); PrepSetEnv("ENV:DOpus/Benefy",Benefy,Do_Benefy); PrepSetEnv("ENV:DOpus/HidePadLock",HidePadLock,Do_HidePadLock); PrepSetEnv("ENV:DOpus/CommandLineLength",CmdLineLength,Do_CmdLLength); PrepSetEnv("ENV:DOpus/IconSpaceX",IconSpaceX,Do_IconSpaceX); PrepSetEnv("ENV:DOpus/IconSpaceY",IconSpaceY,Do_IconSpaceY); PrepSetEnv("ENV:DOpus/IconGridX",IconGridX,Do_IconGridX); PrepSetEnv("ENV:DOpus/IconGridY",IconGridY,Do_IconGridY); PrepSetEnv("ENV:DOpus/ListerEditing",ListerEditing,Do_ListerEditing); return(TRUE); } int NoMUFSClicked( void ) { /* routine when gadget "No_MultiUser" is clicked. */ NoMUFS = Project0Msg.Code; return(TRUE); } int BenefyClicked( void ) { /* routine when gadget "_Benefy" is clicked. */ Benefy = Project0Msg.Code; return(TRUE); } int HidePadLockClicked( void ) { /* routine when gadget "_HidePadLock" is clicked. */ HidePadLock = Project0Msg.Code; return(TRUE); } int LengthOfCmdLineClicked( void ) { /* routine when gadget "chars" is clicked. */ CmdLineLength = GetNum(13); return(TRUE); } int IconSpaceXClicked( void ) { /* routine when gadget "IconSpaceX" is clicked. */ IconSpaceX = GetNum(14); return(TRUE); } int IconSpaceYClicked( void ) { /* routine when gadget "Y" is clicked. */ IconSpaceY = GetNum(15); return(TRUE); } int IconGridXClicked( void ) { /* routine when gadget "IconGrid_X" is clicked. */ IconGridX = Project0Msg.Code; return(TRUE); } int IconGridYClicked( void ) { /* routine when gadget "IconGrid_Y" is clicked. */ IconGridY = Project0Msg.Code; return(TRUE); } int LEdClicked( void ) { /* routine when gadget "L_isterEditing" is clicked. */ ListerEditing = Project0Msg.Code; return(TRUE); } int Project0About( void ) { /* routine when (sub)item "About..." is selected. */ EasyReq(Project0Wnd,"About DO5extPrefs","DO5extPrefs v1.3\nCopyright (c)1997-98 by Jens Weyer.\nFREEWARE\n\nENV - Var editor for DOpus5 Magellan +.\n\nDOpus Magellan + is Copyright (c)\nJonathan Potter & GPSoftware.","Ok"); return(TRUE); } int Project0Save( void ) { /* routine when (sub)item "Save" is selected. */ SaveClicked(); return(TRUE); } int Project0Use( void ) { /* routine when (sub)item "Use" is selected. */ UseClicked(); return(TRUE); } int Project0Quit( void ) { /* routine when (sub)item "Quit" is selected. */ return(FALSE); } int Project0CloseWindow( void ) { /* routine for "IDCMP_CLOSEWINDOW". */ return(Project0Quit()); } int Project0VanillaKey( void ) { /* routine for "IDCMP_VANILLAKEY". */ switch(Project0Msg.Code) { case 's': case 'S': SaveClicked(); break; case 'e': case 'E': UseClicked(); break; case 'n': case 'N': NoNoLabel = SwapState(NoNoLabel,1); break; case 'c': case 'C': NoCustomDrag = SwapState(NoCustomDrag,2); break; case 'w': case 'W': WBTitle = SwapState(WBTitle,3); break; case 'q': case 'Q': QuickIconDrag = SwapState(QuickIconDrag,4); break; case 'u': case 'U': UseWBInfo = SwapState(UseWBInfo,5); break; case 'o': case 'O': ShowUseDTFirst = SwapState(ShowUseDTFirst,6); break; case 'l': case 'L': DLook = SwapState(DLook,7); break; case 'm': case 'M': NoMUFS = SwapState(NoMUFS,10); break; case 'b': case 'B': Benefy = SwapState(Benefy,11); break; case 'h': case 'H': HidePadLock = SwapState(HidePadLock,12); break; case 'x': case 'X': IconGridX = SwapState(IconGridX,16); break; case 'y': case 'Y': IconGridY = SwapState(IconGridY,17); break; case 'i': case 'I': ListerEditing = SwapState(ListerEditing,18); break; } return(TRUE); } int SwapState(int State, int Gad) { if (State) { GT_SetGadgetAttrs(Project0Gadgets[Gad],Project0Wnd,NULL, GTCB_Checked, 0, TAG_DONE); State = 0; } else { GT_SetGadgetAttrs(Project0Gadgets[Gad],Project0Wnd,NULL, GTCB_Checked, 1, TAG_DONE); State = 1; } return(State); } void LoadENVars(void) { DLook = GetEnv("ENV:DOpus/3DLook",Do_DLook); NoNoLabel = GetEnv("ENV:DOpus/NoNoLabel",Do_NoNoLabel); NoCustomDrag = GetEnv("ENV:DOpus/NoCustomDrag",Do_NoCustomDrag); QuickIconDrag = GetEnv("ENV:DOpus/QuickIconDrag",Do_QIconDrag); PopTime = GetEnv("ENV:DOpus/PopUpDelay",Do_PopUpDelay); ShowUseDTFirst = GetEnv("ENV:DOpus/ShowUseDatatypesFirst",Do_ShUDTFirst); WBTitle = GetEnv("ENV:DOpus/WorkbenchTitle",Do_WBTitle); UseWBInfo = GetEnv("ENV:DOpus/UseWBInfo",Do_UseWBInfo); NoMUFS = GetEnv("ENV:DOpus/NoMUFS",Do_NoMUFS); Benefy = GetEnv("ENV:DOpus/Benefy",Do_Benefy); HidePadLock = GetEnv("ENV:DOpus/HidePadLock",Do_HidePadLock); CmdLineLength = GetEnv("ENV:DOpus/CommandLineLength",Do_CmdLLength); IconSpaceX = GetEnv("ENV:DOpus/IconSpaceX",Do_IconSpaceX); IconSpaceY = GetEnv("ENV:DOpus/IconSpaceY",Do_IconSpaceY); IconGridX = GetEnv("ENV:DOpus/IconGridX",Do_IconGridX); IconGridY = GetEnv("ENV:DOpus/IconGridY",Do_IconGridY); ListerEditing = GetEnv("ENV:DOpus/ListerEditing",Do_ListerEditing); if (PopTime == 0 && Exists("ENV:DOpus/PopUpDelay") == 0) { PopTime = 10; } if (CmdLineLength == 0 && Exists("ENV:DOpus/CommandLineLength") == 0) { CmdLineLength = 512; } if (IconSpaceX == 0 && Exists("ENV:DOpus/IconSpaceX") == 0) { IconSpaceX = 3; } if (IconSpaceY == 0 && Exists("ENV:DOpus/IconSpaceY") == 0) { IconSpaceY = 5; } SwapCheck(NoNoLabel,1); SwapCheck(NoCustomDrag,2); SwapCheck(WBTitle,3); SwapCheck(QuickIconDrag,4); SwapCheck(UseWBInfo,5); SwapCheck(ShowUseDTFirst,6); SwapCheck(DLook,7); SwapCheck(NoMUFS,10); SwapCheck(Benefy,11); SwapCheck(HidePadLock,12); SwapCheck(IconGridX,16); SwapCheck(IconGridY,17); SwapCheck(ListerEditing,18); SetNum(PopTime,8); SetNum(CmdLineLength,13); SetNum(IconSpaceX,14); SetNum(IconSpaceY,15); return; } void SwapCheck(int State, int Gad) { if (State) { GT_SetGadgetAttrs(Project0Gadgets[Gad],Project0Wnd,NULL, GTCB_Checked, 1, TAG_DONE); } return; } int GetEnv(char *File, int Loc) { FILE *f; int Value = 0; f = fopen(File,"r"); if (f) { fscanf(f,"%4ld",&Value); fclose(f); VarExist[Loc] = 1; } return(Value); } void SetEnv(char *File, int Value, int Loc) { FILE *f; f = fopen(File,"w"); if (f) { fprintf(f,"%ld\n",Value); fclose(f); } return; } void InitVarExist(void) { int i; for(i = 0; i < VarMemSize; i++) { VarExist[i] = -1; } VarDefault[Do_DLook] = 0; VarDefault[Do_NoNoLabel] = 0; VarDefault[Do_NoCustomDrag] = 0; VarDefault[Do_QIconDrag] = 0; VarDefault[Do_PopUpDelay] = 10; VarDefault[Do_ShUDTFirst] = 0; VarDefault[Do_WBTitle] = 0; VarDefault[Do_NoMUFS] = 0; VarDefault[Do_Benefy] = 0; VarDefault[Do_HidePadLock] = 0; VarDefault[Do_CmdLLength] = 512; VarDefault[Do_IconSpaceX] = 3; VarDefault[Do_IconSpaceY] = 5; VarDefault[Do_IconGridX] = 0; VarDefault[Do_IconGridY] = 0; VarDefault[Do_ListerEditing] = 0; return; } void PrepSetEnv(char *File,int Value,int Loc) { if (VarExist[Loc] != -1) { if (Value == VarDefault[Loc]) { DeleteFile(File); } else { SetEnv(File,Value,Loc); } } else { if (Value != VarDefault[Loc]) { SetEnv(File,Value,Loc); } } return; } void SetNum(int Value,int Gad) { GT_SetGadgetAttrs(Project0Gadgets[Gad],Project0Wnd,NULL, GTIN_Number,Value, TAG_DONE); return; } int GetNum(int Gad) { int Wert = 0; GT_GetGadgetAttrs(Project0Gadgets[Gad],Project0Wnd,NULL, GTIN_Number, &Wert, TAG_DONE); return(Wert); } int Exists(char *datei) { BPTR mylock; int i = 0; mylock = Lock(datei,SHARED_LOCK); if (mylock) { i = 1; } UnLock(mylock); return i; } int Project0RawKey(void) { char ExeHelp[512]; if (Project0Msg.Code == 95 && strlen(AGHelp) != 0) { // will be replaced by amigaguide.library functions in next version strcpy(ExeHelp,"MultiView "); strcat(ExeHelp,AGHelp); Execute(ExeHelp,0,0); } // if (Project0Msg.Code...) return(TRUE); } // int Project0RawKey() void GetToolTypes(char *IconPath) { struct DiskObject *Icon = NULL; Icon = GetDiskObject(IconPath); if (Icon) { char *Types; if (Types = FindToolType((UBYTE **)Icon->do_ToolTypes,"HELP")) { strcpy(AGHelp,Types); } // if (Types = ...) FreeDiskObject(Icon); } // if (Icon) return; } // void GetToolTypes()